From a18760a0942553a7fea54fafe6b8f5921782df89 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 12 Mar 2023 01:13:37 +0100 Subject: [PATCH] itemmananger: Remove the user data Use the widget instead. They're the same anyway. --- gtk/gtklistbase.c | 7 +++---- gtk/gtklistitemmanager.c | 9 +++------ gtk/gtklistitemmanagerprivate.h | 3 +-- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/gtk/gtklistbase.c b/gtk/gtklistbase.c index f786e19761..1adecc87f3 100644 --- a/gtk/gtklistbase.c +++ b/gtk/gtklistbase.c @@ -1913,11 +1913,11 @@ gtk_list_base_drag_leave (GtkDropControllerMotion *motion, } static GtkListTile * -gtk_list_base_split_func (gpointer data, +gtk_list_base_split_func (GtkWidget *widget, GtkListTile *tile, guint n_items) { - return GTK_LIST_BASE_GET_CLASS (data)->split (data, tile, n_items); + return GTK_LIST_BASE_GET_CLASS (widget)->split (GTK_LIST_BASE (widget), tile, n_items); } static void @@ -1930,8 +1930,7 @@ gtk_list_base_init_real (GtkListBase *self, priv->item_manager = gtk_list_item_manager_new (GTK_WIDGET (self), g_class->list_item_name, g_class->list_item_role, - gtk_list_base_split_func, - self); + gtk_list_base_split_func); priv->anchor = gtk_list_item_tracker_new (priv->item_manager); priv->anchor_side_along = GTK_PACK_START; priv->anchor_side_across = GTK_PACK_START; diff --git a/gtk/gtklistitemmanager.c b/gtk/gtklistitemmanager.c index 18a96713ec..b959406c79 100644 --- a/gtk/gtklistitemmanager.c +++ b/gtk/gtklistitemmanager.c @@ -38,8 +38,7 @@ struct _GtkListItemManager GtkRbTree *items; GSList *trackers; - GtkListTile * (* split_func) (gpointer, GtkListTile *, guint); - gpointer user_data; + GtkListTile * (* split_func) (GtkWidget *, GtkListTile *, guint); }; struct _GtkListItemManagerClass @@ -133,8 +132,7 @@ GtkListItemManager * gtk_list_item_manager_new (GtkWidget *widget, const char *item_css_name, GtkAccessibleRole item_role, - GtkListTile * (* split_func) (gpointer, GtkListTile *, guint), - gpointer user_data) + GtkListTile * (* split_func) (GtkWidget *, GtkListTile *, guint)) { GtkListItemManager *self; @@ -147,7 +145,6 @@ gtk_list_item_manager_new (GtkWidget *widget, self->item_css_name = g_intern_string (item_css_name); self->item_role = item_role; self->split_func = split_func; - self->user_data = user_data; self->items = gtk_rb_tree_new_for_size (sizeof (GtkListTile), sizeof (GtkListTileAugment), @@ -571,7 +568,7 @@ gtk_list_item_manager_ensure_split (GtkListItemManager *self, GtkListTile *tile, guint n_items) { - return self->split_func (self->user_data, tile, n_items); + return self->split_func (self->widget, tile, n_items); } static void diff --git a/gtk/gtklistitemmanagerprivate.h b/gtk/gtklistitemmanagerprivate.h index fdfca67f25..bd49838db9 100644 --- a/gtk/gtklistitemmanagerprivate.h +++ b/gtk/gtklistitemmanagerprivate.h @@ -64,8 +64,7 @@ GType gtk_list_item_manager_get_type (void) G_GNUC_CO GtkListItemManager * gtk_list_item_manager_new (GtkWidget *widget, const char *item_css_name, GtkAccessibleRole item_role, - GtkListTile * (* split_func) (gpointer, GtkListTile *, guint), - gpointer user_data); + GtkListTile * (* split_func) (GtkWidget *, GtkListTile *, guint)); void gtk_list_item_manager_get_tile_bounds (GtkListItemManager *self, GdkRectangle *out_bounds); -- 2.30.2